#include <func.h>
#include <openssl/md5.h>

#define MAXLINE 1024

int main(int argc, char *argv[])
{
    int fd = open("file", O_RDONLY);
    if (fd == -1) {
        error(1, errno, "open");
    }

    MD5_CTX ctx;
    MD5_Init(&ctx); 

    char buf[MAXLINE];
    int n;
    while ((n = read(fd, buf, MAXLINE)) > 0) {
        MD5_Update(&ctx, buf, n);
    }
    
    unsigned char md5sum[16];
    MD5_Final(md5sum, &ctx);

    for(int i = 0; i < 16; i++) {
        printf("%02x", md5sum[i]);
    }
    printf("\n");
    return 0;
}


